错误处理(Error Handling)
说明(Note):本页仅适用于新版
@rive-app/react-native,不适用于 Legacy。
基础模式
加载文件或创建对象时,建议使用 try/catch:
try {
const riveFile = await RiveFileFactory.fromURL('https://cdn.rive.app/animations/vehicles.riv');
} catch (error) {
console.error('Error loading Rive file:', error);
}
视图级错误回调
通过 RiveView 的 onError 处理运行时错误:
<RiveView
file={riveFile}
onError={(error) => {
console.error(`Rive Error [${error.type}]: ${error.message}`);
}}
/>
若未提供 onError,错误默认打印到控制台。
常见错误类型
RiveErrorType.UnknownRiveErrorType.FileNotFoundRiveErrorType.MalformedFileRiveErrorType.IncorrectArtboardNameRiveErrorType.IncorrectStateMachineNameRiveErrorType.ViewModelInstanceNotFoundRiveErrorType.IncorrectStateMachineInputName
Android 初始化状态检查
import { RiveRuntime } from '@rive-app/react-native';
const { isInitialized, error } = RiveRuntime.getStatus();
if (!isInitialized) {
console.error('Rive failed to initialize:', error);
}
iOS 无需显式初始化,getStatus() 通常返回已初始化。
高级(Advanced):可通过
android/gradle.properties设置Rive_RiveRuntimeAndroidSkipSetup=true,并手动调用RiveRuntime.initialize()。仅建议在你确实需要延迟初始化时使用。